package com.xd.core.debt.dto;

import com.xd.common.base.PageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.List;

/**
 * <p>
 * 分期债权分页查询入参
 * </p>
 *
 * @author ZCH
 * @since 2025-02-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class InstallmentDebtQuery extends PageQuery implements Serializable {

    @ApiModelProperty(value = "客户手机号")
    private String phone;

    @ApiModelProperty(value = "客户类型 0:个人，1:企业")
    private String principalType;

    @ApiModelProperty(value = "借款主体名称")
    private String borrowerSubjectName;

    @ApiModelProperty(value = "订单状态  1:还款中 2:已结清 3:已逾期")
    private List<Integer> status;

    @ApiModelProperty(value = "债转状态  1:未转让 2:转让中 3:已转让")
    private List<Integer> debtConversionStatus;

    @ApiModelProperty(value = "退保情况 0:部分退保 1:全部退保")
    private List<String> surrenderSituation;

    @ApiModelProperty(value = "放款日期开始")
    private String disbursementDateStart;

    @ApiModelProperty(value = "放款日期结束")
    private String disbursementDateEnd;

    @ApiModelProperty(value = "预付款到账日期开始")
    private String tradeTimeStart;

    @ApiModelProperty(value = "预付款到账日期结束")
    private String tradeTimeEnd;

    @ApiModelProperty(value = "借款金额最小值")
    private String loanAmountMin;

    @ApiModelProperty(value = "借款金额最大值")
    private String loanAmountMax;

    @ApiModelProperty(value = "剩余还款期数最小值")
    private String remainingRepaymentPeriodsMin;

    @ApiModelProperty(value = "剩余还款期数最大值")
    private String remainingRepaymentPeriodsMax;

    @ApiModelProperty(value = "付款通道(1-通道一，2-通道二)")
    private String payPass;

    @ApiModelProperty(value = "企业id")
    private Integer companyId;
}
